﻿using System;
using Utility.Global;
using Utility.Persistence_Service;

namespace Application_Core.Bestellung_Component.Data_Access_Layer
{
    public class Auftrag : Entity, ConvertableToDTO<AuftragDTO>
    {
        public virtual int Id { get; protected set; }

        public virtual int Nummer { get; set; }

        public virtual bool IstAbgeschlossen { get; set; }

        public virtual DateTime BeauftragtAm { get; set; }

        public virtual Angebot Angebot { get; set; }

        public Auftrag() { }

        public Auftrag(int nummer, bool istAbgeschlossen, DateTime beauftragtAm, Angebot angebot)
        {
            this.Nummer = nummer;
            this.IstAbgeschlossen = istAbgeschlossen;
            this.BeauftragtAm = beauftragtAm;
            this.Angebot = angebot;
        }

        public virtual AuftragDTO ToDTO()
        {
            AuftragDTO auftrag = new AuftragDTO();
            auftrag.Nummer = this.Nummer;
            auftrag.IstAbgeschlossen = this.IstAbgeschlossen;
            auftrag.BeauftragtAm = this.BeauftragtAm;
            auftrag.Angebot = this.Angebot.ToDTO();
            return auftrag;
        }
    }
}
